Networks such as the Internet support a wide range of applications and corresponding network traffic flows. Different applications may have different requirements in terms of network throughput and delay. For example, interactive applications may require network traffic flows with low delay. In contrast, streaming applications may operate satisfactorily with relatively higher delay, but may require relatively higher throughput.
In order to accommodate the different network traffic needs of these applications, different rate control schemes have been developed. With delay-based protocols, the bandwidth is managed so that delay is low. While delay-based protocols can operate efficiently in some networking environments, problems can occur when the actual bitrate generated by the applications varies significantly over a short period of time. For example, in such situations oscillations can occur that disrupt the network traffic flow.